/*!
 *  \file       IFilterGenerator.hpp
 *  \brief      Definizione dell'interfaccia \c IFilterGenerator
 *  \author     Davide Scola <S2299453@studenti.unige.it>
 *  \author	Minetti Alberto <S3064777@studenti.unige.it>
 *  \version    1.0
 *
 */

#ifndef _I_FILTER_GENERATOR_H
#define _I_FILTER_GENERATOR_H

/*!
 *  \brief      Definizione dell'interfaccia \c IFilterGenerator
 */
template< class tType >
class IFilterGenerator {
  public :
    // this allows us to pass pointer ownership to another party
    // without exposing the base class
    virtual ~IFilterGenerator( void ) {}
    
    // interface methods
    virtual std::complex< tType > operator() ( std::complex< tType > ) = 0;
};

#endif              /* _I_FILTER_GENERATOR_H */
